// 警告相关API服务
import { get, post, put, del } from './request.js'

// 获取警告列表
export function getAlertList(params = {}) {
  return get('/Alert/list', params)
}

// 获取警告详情
export function getAlertDetail(alertId) {
  return get(`/Alert/detail/${alertId}`)
}

// 添加警告
export function addAlert(data) {
  return post('/Alert/add', data)
}

// 更新警告状态
export function updateAlertStatus(alertId, status, handlerId = null) {
  return put(`/Alert/status/${alertId}`, {
    status,
    handlerId,
    handleTime: new Date().toISOString()
  })
}

// 批量处理警告
export function batchHandleAlerts(alertIds, handlerId) {
  return post('/Alert/batch-handle', {
    alertIds,
    handlerId,
    handleTime: new Date().toISOString()
  })
}

// 删除警告
export function deleteAlert(alertId) {
  return del(`/Alert/delete/${alertId}`)
}

// 获取警告统计
export function getAlertStats(params = {}) {
  return get('/Alert/stats', params)
}

// 获取警告规则
export function getAlertRules() {
  return get('/Alert/rules')
}

// 添加警告规则
export function addAlertRule(data) {
  return post('/Alert/rules', data)
}

// 更新警告规则
export function updateAlertRule(ruleId, data) {
  return put(`/Alert/rules/${ruleId}`, data)
}

// 删除警告规则
export function deleteAlertRule(ruleId) {
  return del(`/Alert/rules/${ruleId}`)
}

// 获取设备警告历史
export function getDeviceAlertHistory(deviceId, params = {}) {
  return get(`/Alert/device/${deviceId}/history`, params)
}

// 导出警告数据
export function exportAlerts(params = {}) {
  return get('/Alert/export', params)
}

// 获取告警处理记录
export function getProcessRecords(alertId) {
  return get(`/Alert/process-records/${alertId}`)
}

// 添加处理记录
export function addProcessRecord(alertId, status, description = '') {
  return post(`/Alert/process-records/${alertId}`, {
    status,
    description
  })
}